Program Metamorphosis
نویسندگان
چکیده
Modern development environments support refactoring by providing atomically behaviour-preserving transformations. While useful, these transformations are limited in three ways: (i) atomicity forces transformations to be complex and opaque, (ii) the behaviour preservation requirement disallows deliberate behaviour evolution, and (iii) atomicity limits code reuse opportunities for refactoring implementers. We present ‘program metamorphosis’, a novel approach for program evolution and refactoring that addresses the above limitations by breaking refactorings into smaller steps that need not preserve behaviour individually. Instead, we ensure that sequences of transformations preserve behaviour together, and simultaneously permit selective behavioural change. To evaluate program metamorphosis, we have implemented a prototype plugin for Eclipse. Our analysis and experiments show that (1) our plugin provides correctness guarantees on par with those of Eclipse’s own refactorings, (2) both our plugin and our approach address the aforementioned limitations, and (3) our approach fully subsumes traditional refactoring.
منابع مشابه
Program Metamorphosis 1 Motivation 2 from Refactorings to Program Metamorphosis 2.1 How Refactorings Work
Modern agile software engineering practices encourage programmers to refactor their code frequently. Consequently, modern integrated development environments incorporate machine support for refactoring; such machine support takes the form of automatic program transformations that atomically preserve program behaviour. This approach to refactoring is useful, but limits the approach in two ways: ...
متن کاملLarval metamorphosis of the barnacle Amphibalanus amphitrite under mono and mixed algal diet
Barnacles are one of the dominant macrofouling organisms found in the intertidal region throughout the word. In this study, the effects of mono and mixed algal diet (Chaetoceros calcitrans, C. muelleri, Isochrysis galbana, Tetraselmis suecica and Chlorella vulgaris) on the larval metamorphosis of the barnacle Amphibalanus amphitrite were evaluated. Larvae obtained from A. amphitrite were cultur...
متن کاملProgram Metamorphosis ; CU-CS-1036-07
Modern agile software engineering practices encourage programmers to refactor their code frequently. Consequently, modern integrated development environments incorporate machine support for refactoring; such machine support takes the form of automatic program transformations that atomically preserve program behaviour. This approach to refactoring is useful, but limits the approach in two ways: ...
متن کاملGeometric Dynamics of Optimization
This paper investigates a family of dynamical systems arising from an evolutionary re-interpretation of certain optimal control and optimization problems. We focus particularly on the application in image registration of the theory of metamorphosis. Metamorphosis is a means of tracking the optimal changes of shape that are necessary for registration of images with various types of data structur...
متن کاملThe effect of larval age on morphology and gene expression during ascidian metamorphosis.
Metamorphosis is both an ecological and a developmental genetic transition that an organism undergoes as a normal part of ontogeny. Many organisms have the ability to delay metamorphosis when conditions are unsuitable. This strategy carries obvious benefits, but may also result in severe consequences for older larvae that run low on energy. In the marine environment, some lecithotrophic larvae ...
متن کاملThe thyroid hormone-induced tail resorption program during Xenopus laevis metamorphosis.
Genes that are up- and down-regulated by thyroid hormone in the tail resorption program of Xenopus laevis have been isolated by a gene expression screen, sequenced, and identified in the GenBank data base. The entire program is estimated to consist of fewer than 35 up-regulated and fewer than 10 down-regulated genes; 17 and 4 of them, respectively, have been isolated and characterized. Up-regul...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009